package ddta;
/*
 * Class: Tarifa
 * Author : Julio Nevado
 */
import java.util.ArrayList;

public class CtlTarifa {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.C72E63FF-1198-8AF2-47CC-26D7D5C30D9B]
    // </editor-fold> 
    private ArrayList<Tarifa> tarifas;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.3F1B51C4-1767-C8DB-58AE-160E19A923A0]
    // </editor-fold> 
    public CtlTarifa () {
        this.tarifas = new ArrayList<Tarifa>();
        initValues();
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.68AD74F7-BE37-0144-E6E6-C74DA35E7127]
    // </editor-fold> 
    public ArrayList<Tarifa> getTarifas () {
        return tarifas;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.878EC0AF-DFD4-D1D3-956D-9A569009CA89]
    // </editor-fold> 
    public void setTarifas (ArrayList<Tarifa> val) {
        this.tarifas = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.D47E8987-CA1F-4295-D3F8-E38873A4E860]
    // </editor-fold> 
    public double calcularTarifa (Tarifa tarifa, Fecha fechanacimiento) {
        long edad = fechanacimiento.getEdad();
        if (edad > 0 && edad < 11) {
            return tarifa.getPrecioNinio();
        } else if (edad >= 11 && edad <= 65) {
            return tarifa.getPrecioAdulto();
        } else {
            return tarifa.getPrecioAdultomayor();
        }
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.FA84CF2B-7E53-F32B-4F9A-884DF6596F07]
    // </editor-fold> 
    public void registrarTarifa (String codigo, double precNinio, double precAdulto, double precAdulMayor) {
        Tarifa tf = new Tarifa(codigo, precNinio, precAdulto, precAdulMayor);
        this.tarifas.add(tf);
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.21D0B466-8F64-077E-00FB-874E508E123C]
    // </editor-fold> 
    public Tarifa buscarTarifa (String codTarifa) {
        Tarifa tar = null;
        for (Tarifa tTar : this.tarifas) {
            if (tTar.getCodigoTarifa().equals(codTarifa)) {
                tar = tTar;
                break;
            }
        }
        return tar;
    }
    private void initValues() {
        registrarTarifa("T001", 30, 40, 45);
        registrarTarifa("T002", 25, 30, 35);
        registrarTarifa("T003", 40, 50, 60);
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.613F6BF4-3BAF-43E3-072E-3F3343649029]
    // </editor-fold> 
    public void eliminarTarifa (String codigoTarifa) {
        Tarifa tar = buscarTarifa(codigoTarifa);
        if (tar != null) {
            this.tarifas.remove(tar);
        }
    }
}

